The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
A user may wish to search for information related to an item of interest. However, the user may be unable to decide which data source to search. The user may also be unfamiliar with a query language used for retrieving information from a data source. Additionally, the user may be unsatisfied by search results from any single data source. Thus, the user may become frustrated by the time consumed in performing multiples searches in multiple data sources. Worse yet, the user may give up and the information may remain unknown to the user.
However, a federated search of multiple data sources may return incompatible data. Different data sources may employ different data models. Different data sources may store different versions of the same data. Different data sources may have different permission levels.
While each of the drawing figures depicts a particular embodiment for purposes of depicting a clear example, other embodiments may omit, add to, reorder, and/or modify any of the elements shown in the drawing figures. For purposes of depicting clear examples, one or more figures may be described with reference to one or more other figures, but using the particular arrangement depicted in the one or more other figures is not required in other embodiments. Modifiers such as “first”, “second”, and “third” may be used to differentiate elements, but the modifiers do not necessarily indicate any particular order. For example, “second search query” may be so named to differentiate it from “first search query”, but “second search query” may refer to a second search query and/or a third search query. Furthermore, a grouping of similar items may be collectively referenced as a single item for clarity and ease of reference. For example, a grouping of “first data object” and “second data object” may be collectively referenced as “first data object”. For clarity and ease of reference, an original and a copy may both be referenced by the name of the original. For example, “deduplicated data” and “copy of the deduplicated data” may both be referenced as “deduplicated data”.
A “computer” may be one or more physical computers, virtual computers, and/or computing devices. As an example, a computer may be one or more server computers, cloud-based computers, cloud-based cluster of computers, virtual machine instances or virtual machine computing elements such as virtual processors, storage and memory, data centers, storage devices, desktop computers, laptop computers, mobile devices, and/or any other special-purpose computing devices. A computer may be a client and/or a server. Any reference to “a computer” herein may mean one or more computers, unless expressly stated otherwise.
While some of the aforementioned elements are depicted in the figures and described herein as if implemented on a separate, remote computer from each other, this is done for explanation purposes only and one or more of the elements may be part of and/or executed on the same computer. Each of the logical and/or functional units depicted in the figures or described herein may be implemented using any of the techniques further described herein in connection with FIG. 11. For example, a computer may comprise a general-purpose computer configured with one or more stored programs which when executed cause performing the functions described herein for one or more logical and/or functional units; a special-purpose computer with digital logic that is configured to execute the functions; or digital logic that is used in other computing devices. While the figures include lines that indicate various devices and/or modules being communicatively coupled, each of the computers, devices, modules, storage, and logic may be communicatively coupled with each other.